package com.yyb.service;

import com.yyb.domain.SysMenu;
import com.yyb.dto.SysMenuAddDTO;
import com.yyb.dto.SysMenuUpdateDTO;
import com.yyb.vo.RouterVO;
import com.yyb.vo.SysMenuVO;

import java.util.List;

/**
 * 
 * 
 * 
 */
public interface SysMenuService {
    /**
     * 查询所有菜单权限数据
     * @return
     */
    List<SysMenuVO> queryAllMenu();

    /**
     * 查询所有菜单和目录
     * @return
     */
    List<SysMenuVO> queryAllMenuMC();

    /**
     * 根据菜单ID查询菜单
     * @param menuId
     * @return
     */
    SysMenu selectByPrimaryKey(Long menuId);

    /**
     * 添加菜单权限
     * @param sysMenuAddDTO
     * @return
     */
    int insert(SysMenuAddDTO sysMenuAddDTO);

    /**
     * 修改菜单权限
     * @param sysMenuUpdateDTO
     * @return
     */
    int updateByPrimaryKey(SysMenuUpdateDTO sysMenuUpdateDTO);

    /**
     * 删除菜单权限
     * @param menuId
     * @return
     */
    int deleteByPrimaryKey(Long menuId);

    /**
     * 获取动态路由
     * @return
     */
    List<RouterVO> getRouters();
}
